1. Field of the Invention
The present invention relates to a method and system for scheduling data packets in a base station device of an access network which provides access to a packet data network.
2. Description of the Prior Art
Within the International Telecommunications Union (ITU), several different air interfaces are defined for third generation mobile communication systems, based on either Code Division Multiple Access (CDMA) or Time Division Multiple Access (TDMA) technology. Wideband CDMA (WCDMA) is the main third generation air interface and will be deployed in Europe and Asia, including Japan and Korea, in the same frequency band, around 2 GHz.
The WCDMA air interface has been defined to provide, in the first phase, data rates up to 2 Mbps in the 3GPP (third generation partnership project) Release 99 and Release 4 specifications. In the Release 5 specification, peak data rates up to 10 Mbps are possible with a High Speed Downlink Packet Access (HSDPA) feature to thereby support packet-based multimedia services. In HSDPA, the intelligence of the base station device or Node-B (which is the third generation equivalent to the former base station) is increased for handling of retransmissions and scheduling functions, Thereby, L1 retransmission between the user equipment (UE, which is the third generation equivalent to the former mobile station) and Node-B are introduced and the round trip delay of these are lower than ‘normal’ RLC retransmission round trip delays. However there will still be (a little fraction of) RLC retransmission also for HSDPA. This makes retransmission combining feasible in the mobile device due to reduced memory requirements. In general, all HSDPA users share the channel in both time and code domains. Adaptive modulation and coding is used to support multiple rate transmissions for different types of multimedia services.
With HSDPA, the Node-B is responsible for scheduling different users on the High Speed Downlink Shared Channel (HS-DSCH) and as such, the user data to be scheduled must to some extent be buffered in advance in the Node-B. The user data is sent from the RNC to the Node-B by means of a mapping operation between a packet data unit of the Radio Link Control protocol layer, i.e. RLC-PDU, and a packet data unit of the Medium Access Control protocol layer, i.e. MAC-d-PDU, which is transmitted over the lub or lur interface, i.e. the interfaces between the RNC and the Node-B and between different RNCs, respectively. When the data has been sent to the Node-B, the RNC is unaware of its status until it receives a response or acknowledgment. In particular, the sender side polls the receiver which on its turn answers with a status report, telling the status of the outstanding RLC blocks, after some significant time delay. The RLC layer response algorithm can be controlled using the so-called polling bit, but some minimum delay is inherent to the network.
To provide the highest system capacity gain, it is assumed in 3GPP standardization that the so-called proportional fast scheduling strategies will be employed. This scheduling method chooses that user for scheduling, which has the best relative channel quality at a given time, thereby optimizing cell throughput while providing the users with approximately the same access probability to the channel. The basic concept for this type of scheduling is “multi-user diversity”; e.g. the ability to choose the best user from a large set of users. Hence, for this method to work optimally, it is important that the scheduler can pick the most optimum user at any given time instance which means that an excess amount of data, compared to what is actually scheduled on the channel, has to reside in the Node-B MAC-hs buffer.
However, the provision of such large buffers leads to the following problems:                At some point, RLC PDUs, which are located in the Node-B may be retransmitted by an RLC retransmission from the RNC. The reason for this is that in the status report it is indicated that there are some RLC blocks missing. It should be noted that the RNC does not know whether the data is still waiting to be scheduled in the Node-B, whether it was sent but the UE failed to detect it, or whether the uplink response or acknowledgement was lost during transmission from the UE. If there are always provided e.g. 3-4 times as much data as the average capacity stored in the Node-B in order to facilitate sufficient multi-user diversity, substantial data sent over the lub/lur interface has to be retransmitted, which leads to an excessive and highly undesirable load on this link. It is however noted that the RLC layer will only retransmit missing blocks and not all blocks. It is thus a selective retransmission algorithm.        Non-real time (NRT) services are often running over services which use the Transport Control Protocol (TCP). TCP has its own congestion avoidance algorithm, including features like fast retransmissions, timeouts, etc. TCP timeouts works as follows: Every time a TCP segment is sent, a timer is started. This timer is compared to the RTO (retransmission timeout), which equals the filtered estimated TCP RTT (round trip time) plus 4 times the filtered estimated variance of the TCP RTT. If the timer is exceeding the RTO value, congestion actions are started, as TCP assumes the segment to be lost or delayed due to congestion. These congestion actions consist among others of retransmitting all segments from the segment in question and starting the slow start algorithm. TCP slow starts are undesirable since they lead to low utilization of the transmission medium. From the above it can be understood that sudden very large delays for some blocks may lead to TCP timeouts. The delay caused by a RLC retransmission is considerable, since the retransmission is put at the back of the queue in the Node-B. Since RLC retransmissions only happen very seldom, the RTO algorithm cannot adjust to them. Thus, an RLC retransmission creates a sudden delay increase which may be interpreted by TCP as congestion, leading to undesirable congestion actions.        The RLC transmission is based on an RLC window. The working of this can be explained with an example, which is shown in FIG. 7. The amount of out-standing data can never be more than the size of the window. As soon as the latest block (most to the right) is acknowledged the window is shifted, so that new data can come in. In the example of FIG. 7, the last oldest block (hatched with a left tilt) in a window of an RLC 30, 32 is negatively acknowledged. Therefore, this block is retransmitted. All horizontally hatched blocks have positively been acknowledged, whereas the hatched blocks with a right tilt are waiting for acknowledgement. They can be in the buffer of a Node-B 20, 22, in the air interface or their acknowledgement can be on its way. The block with the retransmission, without the invention, will be put at the end of the queue in the Node-B 20, 22, which means that the time spend before a positive acknowledgement is received will increase. Before this block is acknowledged, the RLC 30, 32 cannot send any new blocks since this block is the last block in the RLC window. This is called stalling and leads to a lower throughput for the user.        